package com.ruoyi.sts.mapper;

import java.util.List;
import com.ruoyi.sts.domain.StsDevice;
import org.apache.ibatis.annotations.Param;

/**
 * 设备Mapper接口
 * 
 * @author maoxiaodong
 * @date 2025-04-24
 */
public interface StsDeviceMapper 
{
    /**
     * 查询设备
     * 
     * @param id 设备主键
     * @return 设备
     */
    public StsDevice selectStsDeviceById(Long id);

    /**
     * 查询设备列表
     * 
     * @param stsDevice 设备
     * @return 设备集合
     */
    public List<StsDevice> selectStsDeviceList(StsDevice stsDevice);

    /**
     * 新增设备
     * 
     * @param stsDevice 设备
     * @return 结果
     */
    public int insertStsDevice(StsDevice stsDevice);

    /**
     * 修改设备
     * 
     * @param stsDevice 设备
     * @return 结果
     */
    public int updateStsDevice(StsDevice stsDevice);

    /**
     * 删除设备
     * 
     * @param id 设备主键
     * @return 结果
     */
    public int deleteStsDeviceById(Long id);

    /**
     * 批量删除设备
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteStsDeviceByIds(String[] ids);

    /**
     * 查询设备
     *
     * @param idCode 设备识别码
     * @return 设备
     */
    public StsDevice selectStsDeviceByIdCode(String idCode);

    /**
     * 查询设备
     *
     * @param deptId3 区域
     * @return 设备
     */
    public StsDevice selectStsDeviceByDeptId3(Long deptId3);

    public int updateLastSendTimeByIdCode(StsDevice stsDevice);

    List<StsDevice> selectStsDeviceByLastSendTime();

    int updateDeptName(@Param("deptLevel") Integer deptLevel,
                       @Param("deptId") Long deptId,
                       @Param("deptName") String deptName);
}
